Predicting and reducing vibrations during downhole drilling operations

ABSTRACT

Vibrations occurring during downhole drilling operations can be predicted and reduced according to some examples. One particular example includes a system that can receive drilling parameter values associated with a drilling operation involving drilling a wellbore through a subterranean formation using a drill string. The system can receive a depth value associated with the drilling parameter values. The system can provide the drilling parameter values as input to a drill string model to receive a critical speed prediction as output from the drill string model. The system can then generate a speed-depth mapping based on the critical speed prediction and the depth value. The speed-depth mapping can be used to avoid the critical speed at the depth in the wellbore, which may prevent a failure of the drill string resulting from associated vibrations.

TECHNICAL FIELD

The present disclosure relates generally to drilling systems forhydrocarbon extraction. More specifically, but not by way of limitation,this disclosure relates to predicting and reducing vibrations duringdownhole drilling operations.

BACKGROUND

Well systems for extracting hydrocarbons from a subterranean formationare typically formed by drilling a wellbore through the subterraneanformation using a drill string. A drill string is an assembly made fromlong sections of pipe and a motor configured to rotate a drill bit.Examples of such the motor can include mud motors, electric motors, andair motors. Rotation of the drill bit advances the drill string throughthe subterranean formation to form the wellbore.

As a drill string engages in a drilling operation to drill a wellbore,vibrations can be introduced into the drill string due to a variety offactors. For example, vibrations can be introduced by rotation of thedrill bit, by the motor used to rotate the drill bit, by imbalance inthe drill string, and so on. Such vibrations can cause components of thedrill string to prematurely wear or fail. Of particular concern arevibrations that vibrate drill-string components at resonance. Forexample, a catastrophic failure can occur if a drill bit is rotated at aspeed that vibrates the drill string at its resonant frequency.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a cross-sectional view of an example of a well systemaccording to some aspects of the present disclosure.

FIG. 2 is a block diagram of a computing device for predicting andreducing downhole vibrations according to some aspects of the presentdisclosure.

FIG. 3 is a data flow diagram of a process for predicting and reducingdownhole vibrations according to some aspects of the present disclosure.

FIG. 4 is a graph of speed-depth mappings according to some aspects ofthe present disclosure.

FIG. 5 is a flow chart of an example of a process implemented by a drillstring model according to some aspects of the present disclosure.

FIG. 6 is a flow chart of an example of a process for determining acritical speed according to some aspects of the present disclosure.

DETAILED DESCRIPTION

Certain aspects and features of the present disclosure relate topredicting and avoiding critical speeds that may impart significantvibrations on a drill string prior to engaging, or while engaging, in adrilling operation. A critical speed is a rotational speed of a drillbit at which the magnitudes of the resultant vibrations in the drillstring will likely exceed a predefined threshold limit, also referred toherein as a “critical threshold limit,” which may lead to a failure ofone or more drill-string components. A drill string model can be used topredict critical speeds occurring at various depths during a drillingoperation, whereby such predicted critical speeds can then be used by awell operator or an automated control system to avoid those criticalspeeds at their corresponding depths. To improve the accuracy of thepredictions, the drill string model can take into account the propertiesof a mud motor or another type of motor associated with the drillstring.

There are many characteristics of a drill-string motor that can affectthe vibrations in the drill string. For example, motors can themselvesemit vibrations due to imbalances resulting from their center of massbeing offset from their axis of rotation. Additionally, motors caninfluence vibrations originating from other sources. How a motor affectsthe vibrations in a drill string can depend on the motor's design, suchas its lobe configuration, rotor mass, rotor-rotation eccentricity, anddamping materials. As a result, it can be challenging to determine how amotor will influence vibrations in a drill string. But selecting thecorrect operating parameters to avoid critical speeds that can result incatastrophic vibrations is important. To that end, some examples of thepresent disclosure include a drill string model that can determine whichdrill-bit rotation speeds are likely to impart such severely damagingvibrations on the drill string, so that those rotation speeds can beavoided.

In some examples, the drill string model can be based on a forcedfrequency response (FFR) analysis that solves for resonant frequenciesassociated with vibrations, which in turn can be used to determine whichspeeds result in those resonant frequencies. Damping effects can also betaken into account by the drill string model, such as damping effectsfrom viscous, axial, torsional, and structural damping mechanisms. Forexample, the damping effects resulting from interactions with theformation, drilling fluid effects, inertial effects of acceleration ofmud outside the drill string, and mass damping produced by the bottomhole assembly can be modeled. Using these techniques, the drill stringmodel can determine three-dimensional vibrational responses of the drillstring at various speeds (“excitation speeds”), to determine if any ofthose speeds are critical speeds resulting in vibrations at resonantfrequencies. The critical speeds determined using the drill string modelcan then be output to a well operator or an automated control system, sothat the critical speeds can be avoided. Other drilling parameter valuesthat are likely to cause damaging vibrations can also be determined andhighlighted for a well operator, so that those values can be avoided.

The drill string model can be used to analyze drill-string behavior,including motor behavior, over a specified range of operating parameterssuch as rotating speed, weight-on-bit, and mud weight. From thisanalysis, critical speeds can be determined at which a drill string mayencounter damaging vibrations. Vibration control guidelines, such as aspecification of weight-on-bit and RPM windows, can then be developed tominimize those vibration effects. Other forces can also be dynamicallysimulated and estimated using the drill string model. Examples of suchforces can include relative bending stresses, shear forces, and andlateral displacements around the motor (or another target area ofinterest).

These illustrative examples are given to introduce the reader to thegeneral subject matter discussed here and are not intended to limit thescope of the disclosed concepts. The following sections describe variousadditional features and examples with reference to the drawings in whichlike numerals indicate like elements but, like the illustrativeexamples, should not be used to limit the present disclosure.

FIG. 1 is a cross-sectional view of a well system 10 according to someexamples of the present disclosure. The well system 10 can include awellbore 12 extending through various earth strata in an oil and gasformation 14 (e.g., a subterranean formation) located below the wellsurface 16. The wellbore 12 may be formed of a single bore or multiplebores extending into the formation 14, and disposed in any orientation.The well system 10 can include a derrick or drilling rig 20. Thedrilling rig 20 may include a hoisting apparatus 22, a travel block 24,and a swivel 26 for raising and lowering casing, drill pipe, coiledtubing, and other types of pipe or tubing strings or other types ofconveyance vehicles, such as wireline, slickline, and the like. Thewellbore 12 can include a drill string 30 that is a substantiallytubular, axially-extending drill string formed of a drill pipe jointscoupled together end-to-end.

The drilling rig 20 may include a kelly 32, a rotary table 34, and otherequipment associated with rotation or translation of drill string 30within the wellbore 12. For some applications, the drilling rig 20 mayalso include a top drive unit 36. The drilling rig 20 may be locatedproximate to a wellhead 40, as shown in FIG. 1, or spaced apart from thewellhead 40, such as in the case of an offshore arrangement. One or morepressure control devices 42, such as blowout preventers (BOPs) and otherwell equipment may also be provided at wellhead 40 or elsewhere in thewell system 10. Although the well system 10 of FIG. 1 is illustrated asbeing a land-based drilling system, the well system 10 may be deployedoffshore.

A drilling or service fluid source 52 may supply a drilling fluid 58pumped to the upper end of the drill string 30 and flowed through thedrill string 30. The fluid source 52 may supply any fluid utilized inwellbore operations, including drilling fluid, drill-in fluid, acidizingfluid, liquid water, steam, or some other type of fluid.

The well system 10 may have a pipe system 56. For purposes of thisdisclosure, the pipe system 56 may include casing, risers, tubing, drillstrings, subs, heads or any other pipes, tubes or equipment thatattaches to the foregoing, such as the drill string 30, as well as thewellbore and laterals in which the pipes, casing, and strings may bedeployed. In this regard, the pipe system 56 may include one or morecasing strings 60 cemented in the wellbore 12, such as the surface 60 a,intermediate 60 b, and other casing strings 60 c shown in FIG. 1. Anannulus 62 is formed between the walls of sets of adjacent tubularcomponents, such as concentric and non-concentric casing strings 60 orthe exterior of drill string 30 and the inside wall of the wellbore 12or the casing string 60 c.

Where the subsurface equipment 54 is used for drilling and theconveyance vehicle is a drill string 30, the lower end of the drillstring 30 may include a bottom hole assembly 64, which may carry at adistal end a drill bit 66. During drilling operations, a weight-on-bitis applied as the drill bit 66 is rotated, thereby enabling the drillbit 66 to engage the formation 14 and drill the wellbore 12 along apredetermined path toward a target zone. In general, the drill bit 66may be rotated with the drill string 30 from the drilling rig 20 withthe top drive unit 36 or the rotary table 34, or with a downhole motor68 (e.g., a mud motor) within the bottom hole assembly 64.

The bottom hole assembly 64 or the drill string 30 may include variousother tools, including a power source 69, a rotary steerable system 71,and measurement equipment 73. The measurement equipment 73 can includesensors configured to detect characteristics of the drill string 30, thewellbore 12, or the formation 14. Examples of the sensors can includetemperature sensors, pressure sensors, fluid-flow sensors, fluid-typesensors, accelerometers, strain gauges, gyroscopes, cameras,microphones, or any combination of these. The sensors can transmitsensor data to a computing device 90 for use in predicting and reducingvibrations during downhole drilling operations according to someaspects.

Sensor data and other information from the measurement equipment 73 maybe communicated using electrical signals, acoustic signals, or othertelemetry that can be received at the well surface 16 to, among otherthings, monitor the performance of the drill string 30, the bottom holeassembly 64, and the associated drill bit 66. Sensor data may also becommunicated to monitor the conditions of the environment to which thebottom hole assembly 64 is subjected, such as a flow rate of thedrilling fluid 58.

The drilling fluid 58 may be pumped to the upper end of drill string 30and flow through a longitudinal interior 70 of the drill string 30,through the bottom hole assembly 64, and exit from nozzles formed in thedrill bit 66. At the bottom end 72 of the wellbore 12, the drillingfluid 58 may mix with formation cuttings, formation fluids and otherdownhole fluids and debris. The drilling fluid mixture may then flowupwardly through an annulus 62 to return formation cuttings and otherdownhole debris to the well surface 16.

While drilling through the formation 14, the measurement equipment 73can provide (e.g., in real time) sensor data to the computing device 90.The computing device 90 can analyze the sensor data from the measurementequipment 73 to determine a critical speed associated with the depth ofthe drill string 30 in the wellbore 12.

In some examples, the computing device 90 can form part of an automatedcontrol system. In some such examples, the computing device 90 cangenerate one or more electronic signals based on the determined criticalspeed. The computing device 90 can then transmit the electronic signalsto one or more components of the well system 10 to adjust a rotationspeed of the drill bit 66 so as to avoid the critical speed. Forexample, the computing device 90 can transmit an electronic signal tothe motor 68 for adjusting a speed of the motor 68 so as to avoid thecritical speed. In some examples, this process can be automaticallyrepeated at various depths. For example, as the drill bit 66 continuesto drill the wellbore 12, the computing device 90 may automaticallycontinue to adjust drilling parameter values based on the sensor data toavoid critical speeds at various depths.

While the computing device 90 is depicted as surface equipment, in someexamples the computing device 90 can be implemented downhole within thewellbore 12. For example, the computing device 90 can be positioned aspart of the bottom hole assembly 64. By installing the computing device90 at the bottom hole assembly 64, communications lag may be avoided(e.g., from communicating information from the measurement equipment 73to the surface, and returning communications from the surface to therotary steerable system 71) such that critical-speed avoidance measuresmay be implemented in a quicker manner when compared to a surfaceposition of the computing device 90. Additionally, while FIG. 1 depictsthe computing device 90 operating in a land-based drilling environment,the computing device 90 may also be implemented in an offshore drillingenvironment.

FIG. 2 is a block diagram of a computing device 90 usable for predictingand reducing vibrations in downhole drilling operations according tosome examples. The computing device 90 includes a processor 202communicatively coupled to a user input device 220, a display device222, and a memory 204 by a bus 206. Although these components are shownin FIG. 2 as being internal to a housing of the computing device 90, itwill be appreciated that in other examples these components can bedistributed and remote from one another.

The processor 202 can include one processor or multiple processors.Non-limiting examples of the processor 202 include a Field-ProgrammableGate Array (FPGA), an application-specific integrated circuit (ASIC), amicroprocessor, etc. The processor 202 can execute instructions 208stored in the memory 204 to perform operations. In some examples, theinstructions 208 can include processor-specific instructions generatedby a compiler or an interpreter from code written in any suitablecomputer-programming language, such as C, C++, C#, etc.

The user input device 220 can include one user input device or multipleuser input devices. Examples of such user input devices can include akeyboard, mouse, or touch-screen display.

The display device 222 can include one display device or multipledisplay devices. Examples of such display devices can include a liquidcrystal display (LCD) and a light-emitting diode (LED) display.

The memory 204 can include one memory or multiple memories. The memory204 can be non-volatile and may include any type of memory that retainsstored information when powered off. Non-limiting examples of the memory204 include electrically erasable and programmable read-only memory(EEPROM), flash memory, or any other type of non-volatile memory. Atleast some of the memory can include a non-transitory computer-readablemedium from which the processor 202 can read instructions 208. Thenon-transitory computer-readable medium can include electronic, optical,magnetic, or other storage devices capable of providing the processor202 with computer-readable instructions or other program code. Examplesof the non-transitory computer-readable medium include magnetic disk(s),memory chip(s), ROM, random-access memory (RAM), an ASIC, a configuredprocessor, optical storage, or any other medium from which a computerprocessor can read the instructions 208.

In the example shown in FIG. 2, the instructions 208 include varioussoftware modules, such as a pre-processing module 210, a drill stringmodelling module 212, a mapping module 214, an action module 216, a userinterface module 218, or any combination of these. But other examplescan include more modules, fewer modules, or different modules than areshown in FIG. 2. The modules 208-218 can be executed by the processor202 to implement the process 300 shown in FIG. 3, as detailed below.

The process 300 begins with the receipt of input data 302. The inputdata 302 can include any number and combination of parameter values. Forexample, the input data 302 can include wellbore parameter values. Awellbore parameter value is a value for a wellbore parameter, where awellbore parameter characterizes a wellbore drillable in a subterraneanformation. Examples of wellbore parameters can include a size (e.g.,radius or diameter), a target depth, an inclination, and a trajectory ofthe wellbore. Wellbore parameter values are generally relatively staticthroughout the course of a drilling operation. Additionally oralternatively, the input data 302 can include drilling parameter values.A drilling parameter value is a value for a drilling parameter, where adrilling parameter characterizes a drilling operation for drilling awellbore in a subterranean formation. Examples of drilling parameterscan include a weight-on-bit; a rotation speed of a drill bit; a rotaryspeed; an inclination of the drill string; and a mud property such as aflow rate, weight, or viscosity of the mud. Drilling parameter valuesare generally relatively dynamic throughout the course of a drillingoperation. Additionally or alternatively, the input data 302 can includemotor parameter values. A motor parameter value is a value for a motorparameter, where a motor parameter characterizes a motor in a drillstring. Examples of motor parameters can include an eccentricity of themotor, a weight of the motor's rotor, an elastomer of the motor, motorconfiguration such as a lobe configuration, and a position of the motorin the drill string. Motor parameter values are generally relativelystatic throughout the course of a drilling operation. Other parametervalues can also be included in the input data 302.

The input data 302 may also include a depth value (DV) 304 indicating adepth of a drill string component in the wellbore. The depth value 304can correspond to the parameter values. For example, the depth value 304can indicate a depth of the drill-string motor in the wellbore when theparameter values were measured by one or more sensors.

In some examples, the input data 302 can be received as user input via auser input device 220. A well operator may provide the input data 302 asuser input prior to engaging in a drilling operation to obtain valuableinformation about the drilling operation ahead-of-time, which may aidthe well operator in reducing or avoiding vibrations that can lead topreemptive wear or failure of drill-string components. In otherexamples, the input data 302 can be received while a drilling operationis ongoing, for example as real-time data streamed from one or moresensors during the drilling operation. Examples of such sensors caninclude temperature sensors, pressure sensors, fluid-flow sensors,fluid-type sensors, accelerometers, strain gauges, depth sensors,inclinometers, gyroscopes, cameras, microphones, or any combination ofthese. The sensors can be coupled to the drill string or positionedelsewhere in the well system for obtaining the input data 302.

Next, the input data 302 can be provided as input to the pre-processingmodule 210. The pre-processing module 210 may perform one or moredata-cleansing operations on the input data 302 to generatepre-processed data 306. For example, the pre-processing module 210 candetect incomplete, incorrect, inaccurate, or irrelevant parts of theinput data 302 and correct those parts of the input data 302 byreplacing, modifying, or deleting those parts of the input data 302, inorder to generate pre-processed data 306.

In some examples in which the input data 302 is real-time data streamedfrom sensors, the pre-processing module 210 can account for uncertaintyin the input data 302 by applying one or more uncertainty models 320 tothe input data 302. Uncertainty can arise in the input data 302 due toany number of factors, such as downhole temperature and pressurefluctuations, inconsistencies and degradations of the sensors,interference and noise, and so on. Uncertainty models 320 can be used toremedy such uncertainties.

Each of the uncertainty models 320 can correspond to one specific inputparameter, such as a wellbore parameter or drilling parameter. Anuncertainty model can include a predefined probability-distributionrepresenting a distribution of values for that specific input parameter.The values in the distribution may come from one or more samples, whichmay have been previously synthesized or collected. Each value's positionin the distribution can be dictated by the number of times the valueoccurred in the samples. The distribution can indicate a probabilitythat a value of the specific input parameter provided in the input data302 is correct. The pre-processing module 210 can use the one or moreuncertainty models 320 to identify and correct values in the input data302 that may be inaccurate.

Next, the pre-processed data 306 can be provided as input to the drillstring modelling module 212. The drill string modelling module 212 caninclude a drill string model 224 configured to simulate vibrationalproperties of a drill string during a drilling operation. The drillstring modelling module 212 can receive the pre-processed data 306 andgenerate a critical speed prediction 310 based on the pre-processed data306. A critical speed prediction is a prediction of a critical speed.The drill string modelling module 212 can provide the critical speedprediction 310 as output.

To generate the critical speed prediction 310, the drill string model224 may jointly consider aspects of both the drill string itself and amotor associated with the drill string. For example, the drill stringmodel 224 can take into account damping effects of substances (e.g.,materials and fluids) inside the drill string and a rotational speed ofthe drill string. The drill string model 224 can also take into accounta lobe configuration, eccentricity, and rotational speed of the motor.To that end, the drill string model 224 may include one or moresub-models, such as motor model 226, which can simulate vibrationalproperties of the motor. These and other features of the drill stringmodel 224 are described in greater detail later on with respect to FIG.5.

In some examples, the drill string modelling module 212 may alsogenerate other outputs using the drill string model 224. For example,the drill string modelling module 212 can use the drill string model 224to determine displacement characteristics (e.g., axial displacement andtorsional displacement) of the drill string when operating at thepredicted critical speed 310. The drill string modelling module 212 maythen output such displacement characteristics.

Next, the critical speed prediction 310 can be provided as input to amapping module 214. The mapping module 214 can generate an association(or “mapping”) between the critical speed prediction 310 and the depthvalue 304 provided in the input data 302. Such associations are referredto herein as speed-depth mappings (SDMs). In this example, the mappingmodule 214 can generate an SDM 312 indicating the predicted criticalspeed 310 at the particular depth 304 in the wellbore.

In some examples, the process described above can be repeated for otherinput data to generate other speed-depth mappings 316. Each of the otherspeed-depth mappings 316 can also indicate a predicted critical speed ata corresponding depth in the wellbore. The combination of thespeed-depth mapping 314 and the other speed-depth mappings 316 can forma roadmap that can aid a well operator in developing a drilling plan.For example, the speed-depth mapping 314 and the other speed-depthmappings 316 can be provided as input to the user interface module 218,which can generate a graphical user interface 318 for output on thedisplay device 222 based on the speed-depth mappings. In one suchexample, the graphical user interface 318 can include a plot with thecritical speeds along the X-axis and depth values along the Y-axis (orvice-versa), such as the plot 500 shown in FIG. 5. A well operator canview the graphical user interface 318 and use the speed-depth mappingstherein to develop a drilling plan in which the critical speed at eachdepth is avoided during a drilling operation. This may reduce thelikelihood of drill-string failure caused by vibrations imparted at thecritical speeds.

In some examples, one or more of the speed-depth mappings (e.g.,speed-depth mapping 314 and the other speed-depth mappings 316) can beprovided as input to the action module 216. The action module 216 can beconfigured to automatically perform one or more operations based on thespeed-depth mappings, for example to avoid the critical speed at eachdepth. In some such examples, the action module 216 can executeoperations configured to adjust one or more parameter values associatedwith an ongoing drilling operation to avoid the critical speed at eachdepth. For instance, the operations can be configured to adjust adrill-bit rotation speed or another drilling parameter value so as toavoid a critical speed at a particular depth. The action module 216 mayrepeat this process at each depth to avoid the critical speedcorresponding to that depth. This may prevent vibrations from exceedingthe critical threshold limit at each depth.

It will be appreciated that although FIG. 3 shows a certain number andarrangement of steps, other examples can include more steps, fewersteps, different steps, or a different order of the steps than is shownin FIG. 3. Other examples may also involve more, fewer, or differentcomponents than are described with respect to FIG. 3. For instance, inan alternative example the process 300 may exclude the pre-processingmodule 210 and act on the raw input data 302, rather than thepre-processed data 306.

As noted above, a drill string model 224 can be used to determinecritical speed values and other information associated with a drillingoperation. FIG. 5 is a flow chart of an example of a process implementedby the drill string model 224 to determine such information. But otherexamples can include more steps, fewer steps, different steps, or adifferent order of the steps than is shown in FIG. 5. While thefollowing process is described as being implemented by the drill stringmodel 224, it will be appreciated that this may involve the processor202 executing the process based on the drill string model 224.

In block 502, the drill string model 224 receives parameter values asinput. The parameter values can be derived from the input data 302. Insome examples that lack pre-processing, the parameter values can comefrom the raw input data 302. And in some examples that includepre-processing, the parameter values can come from the pre-processeddata 306.

The parameter values can include wellbore parameter values, drillingparameter values, motor parameter values, or any combination of these.Examples of the motor parameter values can include a location of a motorin the drill string, a motor length, a mass of a rotor in the motor, aneccentricity of the motor, and a lobe configuration of the motor.

In block 504, the drill string model 224 determines stiffness matricesassociated with the drill string while taking into account the motorparameter values. Examples of the stiffness matrices can include alinear stiffness matrix, a geometric stiffness matrix, a contactstiffness matrix, a friction stiffness matrix, or any combination ofthese. A linear stiffness matrix can indicate a stiffness of thecomponents of the drill string, including the motor. A geometricstiffness matrix can indicate a stiffness of the drill string based onthe dimensions of the motor, such as the outside diameter and insidediameter of the motor. A contact stiffness matrix can indicate thestiffness of a component of the drill string contacting a wall of thewellbore. A friction stiffness matrix can indicate a stiffness of thedrill string as a result of a contact between the component of the drillstring and the wall of the wellbore. Each of these stiffness matricescan represent a system of linear equations to be solved to ascertain anapproximate solution to a differential equation while performing afinite element analysis.

Some examples can include a user selectable option for turning on or offcontact dynamics. If contact dynamics are activated, the contactstiffness matrix can be generated based on the friction stiffnessmatrix. For example, the friction stiffness matrix can be generated andadded to the contact stiffness matrix, so that the contact stiffnessmatrix dynamically changes based on the friction stiffness matrix. Ifcontact dynamics are deactivated, the friction stiffness matrix may notbe generated.

In block 506, the drill string model 224 determines boundary conditions.Examples of the boundary conditions can include a weight-on-bit, arotational speed, a friction level. The boundary conditions can serve tobound aspects of the fine element analysis to arrive at a reliablesolution. In some examples, determining the boundary conditions caninvolve the drill string model 224 receiving the boundary conditions asuser input. For example, the boundary conditions may be provided as partof the input data 302 of FIG. 3. In other examples, the boundaryconditions may be predefined. For example, the boundary conditions maybe preprogrammed into the drill string model 224.

In block 508, the drill string model 224 generates damping matricesindicating the damping effects of various substances associated with adrilling operation. The damping effects can arise from viscous, axial,torsional, and structural damping mechanisms, some or all of which maybe taken into account in calculating the damping matrices.

In some examples, the damping matrices can include a structural dampingmatrix and a fluid damping matrix. The structural damping matrix canindicate a damping effect of a structural material of the drill string.The fluid damping matrix can indicate a damping effect of a drillingfluid such as a drilling mud. Since fluid can behave differently inresponse to different vibration frequencies, yielding both staticdamping components (that do not change as a function of vibrationfrequency) and dynamic damping components (that change as a function ofvibration frequency).

In block 510, a critical speed can be determined based on the stiffnessmatrices, the boundary conditions, and the damping matrices. In someexamples, the critical speed can be determined by performing a loop overa range of candidate speeds. For example, a vibration response of thedrill string can be determined for each speed in the range of candidatespeeds (based on the stiffness matrices, the boundary conditions, andthe damping matrices). If the vibration response of the drill string fora particular speed exceeds a critical threshold level, for example dueto the resultant vibrations being at a resonant frequency, then thatspeed can be determined to be a critical speed. An example of thislooping process is described in greater detail later on with respect toFIG. 6.

The vibration response of the drill string can depend on the vibrationresponse of the motor at a particular speed. The vibration frequency forthe motor can be represented as a function of the variables effectingthe frequency. For example, the vibration frequency can be representedmathematically as follows:

f _(n) =f (w,e,i, N,μ _(e) ,C _(e))

where f_(n) is the vibration frequency, w is the weight of the rotor, eis the eccentricity of the motor, i is the lobe configuration of therotor, N is the speed of the rotor, μ_(e) is the sliding/rollingfriction of the rotor stator, and C_(e) is the rotor/stator coefficient.In some examples, the drill string model 224 can take into account someor all of these factors in determining the vibration response of themotor, which in turn can be used to determine the vibration response ofthe drill string.

In block 512, the drill string model 224 outputs the critical speedprediction 310. In some examples, outputting the critical speedprediction 310 may involve returning the critical speed prediction 310to a main loop or another function of a computer program executed by theprocessor 202. Additionally or alternatively, outputting the criticalspeed prediction 310 may involve storing the critical speed prediction310 in memory, such as memory 204. This may enable the critical speedprediction 310 to be accessed by processor 202 or another hardwarecomponent of the computing device 90.

FIG. 6 is a flow chart of an example of a process for determining acritical speed according to some aspects. But other examples can includemore steps, fewer steps, different steps, or a different order of thesteps than is shown in FIG. 6. While the following process is describedas being implemented by the drill string model 224, it will beappreciated that this may involve the processor 202 executing theprocess based on the drill string model 224.

In block 602, the drill string model 224 determines a range of candidatebit speeds. A bit speed is a speed at which a drill bit of a drillstring is rotated. The bit speeds can be determined based on inputsettings provided by the user. Examples of the input settings caninclude a starting bit speed, an ending bit speed, and a step increment.The step increment can be an increment at which the speed is to beincreased.

Bit speeds can depend on a rotational speed of the motor (“motor speed”)and a rotational speed of the drill string (“string speed”). As aresult, three general scenarios typically occur. A first scenario caninvolve the string speed remaining constant and equal to zero, while themotor speed varies by the step increment. One particular example caninvolve an initial motor speed of 100 RPM, a constant string speed of 0RPM, a step increment of 10 RPM, and an ending string speed of 150 RPM.In that example, the calculated range of candidate bit speeds can be 100RPM (100 motor speed+0 string speed), 110 RPM (110 motor speed+0 stringspeed), 120 RPM (120 motor speed+0 string speed), 130 RPM (130 motorspeed+0 string speed), 140 RPM (140 motor speed+0 string speed), and 150RPM (150 motor speed+0 string speed).

A second of the three scenarios can involve the string speed varying,while the motor speed remains constant and greater than zero. In thissecond scenario, any of the following circumstances can occur:

-   -   a) the starting string speed<the motor speed, and the ending        string speed>the motor speed;    -   b) the starting string speed<the motor speed, and the ending        string speed<the motor speed;    -   c) the starting string speed<the motor speed, and the ending        string speed≤the motor speed;    -   d) the starting string speed the motor speed, and the ending        string speed≤the motor speed;    -   e) the starting string speed>the motor speed, and the ending        string speed<the motor speed;    -   f) the starting string speed>the motor speed, and the ending        string speed>the motor speed; and g) the starting string speed        the motor speed, and the ending string speed>the motor speed.        But if the drill string model 224 enforces a condition that the        starting string speed is greater than or equal to the motor        speed, and that the ending string speed is greater that the        starting speed, then there is only one circumstance (g) that can        result.

A third scenario of the three scenarios can involve the string speedremaining constant and greater than zero, while the motor speed variesby the step increment. One particular example can involve an initialmotor speed of 100 RPM, a constant string speed of 20 RPM, a stepincrement of 10 RPM, and an ending string speed of 150 RPM. In thatexample, the calculated range of candidate bit speeds can be 120 RPM(100 motor speed+20 string speed), 130 RPM (110 motor speed+20 stringspeed), 140 RPM (120 motor speed+20 string speed), and 150 RPM (130motor speed+20 string speed).

In block 604, the drill string model 224 determines if a stoppingcondition is satisfied. An example of the stopping condition may be thatall of the candidate bit speeds have been analyzed. Another example ofthe stopping condition may be that a critical speed has been identified.If the stopping condition is satisfied, the process may proceed to block616 at which the process can end. Otherwise, the process can proceed toblock 606.

In block 606, the drill string model 224 selects a candidate bit speed(e.g., the next candidate bit speed in the range) for analysis.

In block 608, the drill string model 224 determines a vibration responseat the candidate bit speed. The drill string model 224 can determine thevibration response based on the matrices described above with respect toFIG. 5. For example, the stiffness matrices can be summed into a complexstiffness matrix, which can form the basis of a system Jacobean matrix.A lumped mass matrix can then be added to the Jacobian matrix. Thestructural damping matrix and fluid damping matrix can also be added tothe Jacobean matrix. Other damping matrices, such as a viscous dampingmatrix, can also be added to the Jacobean matrix. A vibration responsecan then be generated based on the Jacobian matrix.

In some examples, the vibration response can be provided in the form ofone or more normalized numerical values corresponding to one or moretarget parameters of interest. Each numerical value for each targetparameter can be determined by dividing (i) a calculated value for thetarget parameter at the candidate bit speed by (ii) a maximum possiblevalue for that target parameter. For example, a numerical value for atarget parameter can be determined using the following equation:

V _(i) =E _(i) /E _(peak)

where V_(i) is the numerical value for the target parameter E, E_(i) isthe calculated value for that target parameter at the candidate bitspeed, and E_(peak) is the maximum possible value for that targetparameter (e.g., the value at resonance). Examples of the targetparameter E can include rotational stress, displacement, moment, shear,etc. Using the above equation, the numerical values V_(i) for the targetparameter E will fall between 0 and 1. Normalizing the numerical valuesin this way can assist with quantifying vibration intensities, which inturn may enable comparisons to be made between motor designs. Forexample, motors with different lobe configurations can yield differentvibration-intensity levels at the same bit speeds. These differentvibration-intensity levels can be quantified using the normalizednumerical values described above, so that the vibration-intensity levelsmay be easily compared to one another.

In some examples, the vibration response can be determined based on aphase angle between the motor of the drill string and the drill bit.Phase angles can be useful in determining a vibration response whenseveral vibration sources are considered in a drill string. For example,the value of a target parameter can be determined using the followingmathematical equation:

x(t)=x _(m)cos(ωt−ϕ)

where x(t) is the value for a target parameter (e.g., stress, force,displacement, or moment) being measured as a function of time; x_(m) isthe maximum magnitude of the target parameter; co is rotor speed; t istime; j is the degree of freedom number; and ϕ is the phase angle, whereϕ_(dj)=tan⁻¹(μ_(sj)/μ_(cj)) with s and c being displacements in twodirections. The largest value of the target parameter (x(t)) can occurwhen ωt=ϕ=0, and the smallest vale of the target parameter (x(t)) canoccur when ωt−ϕ=π/2. Using the above equation, phase angles can bedetermined for one or more target parameters. The phase angles candepend on the motor's design. For example, motors with different lobeconfigurations can yield different phase angles, and thus differentvibration intensities, at the same bit speeds.

In block 610, the drill string model 224 determines if the vibrationresponse exceeds a threshold limit, which can be predefined. In someexamples, the vibration response can exceed the threshold limit if atleast one of the numerical values associated with at least one of thetarget parameters described above response exceeds the threshold limit.

If the vibration response exceeds the threshold limit, the process canproceed to block 612 at which the candidate bit speed can be flagged asa critical speed. Otherwise, the process can proceed to block 614 atwhich the candidate bit speed can be flagged as a non-critical speed.Either way, the process may then return to block 604, at which point thenext candidate-bit speed can be selected and the process can iterateaccordingly. At the conclusion of the process shown in FIG. 6, the drillstring model 224 may have identified one or more critical speedsassociated with the drill string. These critical speeds may then beoutput to the well operator or an automated control system, for exampleso that the critical speeds can be avoided.

Some aspects and features of the present disclosure can be implementedaccording to one or more of the following examples:

Example #1: A system of the present disclosure can include a processorand a memory including instructions that are executable by the processorto perform operations. The operations can include receiving a pluralityof sets of drilling parameter values associated with a drillingoperation involving drilling a wellbore through a subterranean formationusing a drill string. The operations can include receiving a pluralityof depth values associated with the plurality of sets of drillingparameter values. Each depth value can correspond to a particular set ofdrilling parameter values in the plurality of sets of drilling parametervalues. The operations can include providing the plurality of sets ofdrilling parameter values as input to a drill string model to receive aplurality of critical speed predictions as output from the drill stringmodel. Each critical speed prediction can be determined by the drillstring model based on a respective set of drilling parameter values ofthe plurality of sets of drilling parameter values. The operations caninclude generating a plurality of speed-depth mappings based on theplurality of critical speed predictions and the plurality of depthvalues. Each speed-depth mapping can include (i) a respectivecritical-speed prediction from among the plurality of critical speedpredictions and (ii) a respective depth-value associated with therespective set of drilling parameter values used by the drill stringmodel to determine the respective critical-speed prediction. Theoperations can include generating a graphical user interface includingthe plurality of speed-depth mappings for display on a display device.The plurality of speed-depth mappings in the graphical user interfacecan be usable to reduce vibrations in the drill string at the pluralityof depth values during the drilling operation.

Example #2: The system of Example #1 may feature the memory furtherincluding instructions for the drill string model. The drill stringmodel can be configured to generate a range of candidate bit speeds. Foreach candidate bit speed in the range of candidate bit speeds, the drillstring model can: determine a respective vibration response associatedwith the candidate bit speed; determine if the respective vibrationresponse exceeds a predefined threshold limit; and flag the candidatebit speed as a critical speed if the respective vibration response isgreater than or equal to the predefined threshold limit; or flag thecandidate bit speed as a non-critical speed if the respective vibrationresponse is below the predefined threshold limit.

Example #3: The system of any of Examples #1-2 may feature the drillstring model being configured to determine a respective vibrationresponse based on a damping effect of substance in the drill string.

Example #4: The system of any of Examples #1-3 may feature the drillstring model being configured to determine a respective vibrationresponse based on one or more characteristics of a motor of the drillstring.

Example #5: The system of Example #4 may feature the one or morecharacteristics including a lobe configuration of the motor.

Example #6: The system of any of Examples #1-5 may feature the memoryfurther including instructions that are executable by the processor forcausing the processor to receive the plurality of sets of parametervalues from one or more sensors coupled to the drill string.

Example #7: The system of any of Examples #1-6 may feature the memoryfurther including instructions that are executable by the processor forcausing the processor to adjust a drilling parameter value associatedwith the drilling operation so as to prevent a drill bit of the drillstring from rotating at a critical speed included in the plurality ofcritical speed predictions when the drill string is at a particulardepth that is associated with the critical speed in the plurality ofspeed-depth mappings.

Example #8: A method of the present disclosure can include receiving aplurality of sets of drilling parameter values associated with adrilling operation involving drilling a wellbore through a subterraneanformation using a drill string. The operations can include receiving aplurality of depth values associated with the plurality of sets ofdrilling parameter values. Each depth value can correspond to aparticular set of drilling parameter values in the plurality of sets ofdrilling parameter values. The method can include providing theplurality of sets of drilling parameter values as input to a drillstring model to receive a plurality of critical speed predictions asoutput from the drill string model. Each critical speed prediction canbe determined by the drill string model based on a respective set ofdrilling parameter values of the plurality of sets of drilling parametervalues. The method can include generating a plurality of speed-depthmappings based on the plurality of critical speed predictions and theplurality of depth values. Each speed-depth mapping can include (i) arespective critical-speed prediction from among the plurality ofcritical speed predictions and (ii) a respective depth-value associatedwith the respective set of drilling parameter values used by the drillstring model to determine the respective critical-speed prediction. Themethod can include generating a graphical user interface including theplurality of speed-depth mappings for display on a display device. Theplurality of speed-depth mappings in the graphical user interface can beusable to reduce vibrations in the drill string at the plurality ofdepth values during the drilling operation. Some or all of the methodsteps can be implemented by a processor.

Example #9: The method of Example #8 may involve the drill string modelbeing configured to generate a range of candidate bit speeds. For eachcandidate bit speed in the range of candidate bit speeds, the drillstring model can: determine a respective vibration response associatedwith the candidate bit speed; determine if the respective vibrationresponse exceeds a predefined threshold limit; and flag the candidatebit speed as a critical speed if the respective vibration response isgreater than or equal to the predefined threshold limit; or flag thecandidate bit speed as a non-critical speed if the respective vibrationresponse is below the predefined threshold limit.

Example #10: The method of any of Examples #8-9 may involve the drillstring model being configured to determine a respective vibrationresponse based on a damping effect of substance in the drill string.

Example #11: The method of any of Examples #8-10 may involve the drillstring model being configured to determine a respective vibrationresponse based on one or more characteristics of a motor of the drillstring.

Example #12: The method of Example #11 may involve the one or morecharacteristics including a lobe configuration of the motor.

Example #13: The method of any of Examples #8-12 may involve receivingthe plurality of sets of parameter values from one or more sensorscoupled to the drill string.

Example #14: The method of any of Examples #8-13 may involve adjusting adrilling parameter value associated with the drilling operation so as toprevent a drill bit of the drill string from rotating at a criticalspeed included in the plurality of critical speed predictions when thedrill string is at a particular depth that is associated with thecritical speed in the plurality of speed-depth mappings.

Example #15: A non-transitory computer-readable medium of the presentdisclosure can include program code that is executable by a processor toperform operations. The operations can include receiving a plurality ofsets of drilling parameter values associated with a drilling operationinvolving drilling a wellbore through a subterranean formation using adrill string. The operations can include receiving a plurality of depthvalues associated with the plurality of sets of drilling parametervalues. Each depth value can correspond to a particular set of drillingparameter values in the plurality of sets of drilling parameter values.The operations can include providing the plurality of sets of drillingparameter values as input to a drill string model to receive a pluralityof critical speed predictions as output from the drill string model.Each critical speed prediction can be determined by the drill stringmodel based on a respective set of drilling parameter values of theplurality of sets of drilling parameter values. The operations caninclude generating a plurality of speed-depth mappings based on theplurality of critical speed predictions and the plurality of depthvalues. Each speed-depth mapping can include (i) a respectivecritical-speed prediction from among the plurality of critical speedpredictions and (ii) a respective depth-value associated with therespective set of drilling parameter values used by the drill stringmodel to determine the respective critical-speed prediction. Theoperations can include generating a graphical user interface includingthe plurality of speed-depth mappings for display on a display device.The plurality of speed-depth mappings in the graphical user interfacecan be usable to maange vibrations in the drill string at the pluralityof depth values during the drilling operation.

Example #16: The non-transitory computer-readable medium of Example #15may further include program code for the drill string model, where theprogram code for the drill string model is executable by the processorfor causing the processor to perform operations. The operations caninclude generating a range of candidate bit speeds and, for eachcandidate bit speed in the range of candidate bit speeds: determining arespective vibration response associated with the candidate bit speed;determining if the respective vibration response exceeds a predefinedthreshold limit; and flagging the candidate bit speed as a criticalspeed if the respective vibration response is greater than or equal tothe predefined threshold limit; or flagging the candidate bit speed as anon-critical speed if the respective vibration response is below thepredefined threshold limit.

Example #17: The non-transitory computer-readable medium of any ofExamples #15-16 may feature the drill string model being configured todetermine a respective vibration response based on a damping effect ofsubstance in the drill string.

Example #18: The non-transitory computer-readable medium of any ofExamples #15-17 may feature the drill string model being configured todetermine a respective vibration response based on one or morecharacteristics of a motor of the drill string.

Example #19: The non-transitory computer-readable medium of Example #18may feature the one or more characteristics including a lobeconfiguration of the motor.

Example #20: The non-transitory computer-readable medium of any ofExamples #15-19 may further include program code that is executable bythe processor for causing the processor to adjust a drilling parametervalue associated with the drilling operation so as to prevent a drillbit of the drill string from rotating at a critical speed included inthe plurality of critical speed predictions when the drill string is ata particular depth that is associated with the critical speed in theplurality of speed-depth mappings.

The foregoing description of certain examples, including illustratedexamples, has been presented only for the purpose of illustration anddescription and is not intended to be exhaustive or to limit thedisclosure to the precise forms disclosed. Numerous modifications,adaptations, and uses thereof will be apparent to those skilled in theart without departing from the scope of the disclosure. For instance,examples described herein can be combined together to yield stillfurther examples.

1. A system comprising: a processor; and a memory including instructionsthat are executable by the processor for causing the processor to:receive a plurality of sets of drilling parameter values associated witha drilling operation involving drilling a wellbore through asubterranean formation using a drill string; receive a plurality ofdepth values associated with the plurality of sets of drilling parametervalues, each depth value corresponding to a particular set of drillingparameter values in the plurality of sets of drilling parameter values;provide the plurality of sets of drilling parameter values as input to adrill string model to receive a plurality of critical speed predictionsas output from the drill string model, each critical speed predictionbeing determined by the drill string model based on a respective set ofdrilling parameter values of the plurality of sets of drilling parametervalues; generate a plurality of speed-depth mappings based on theplurality of critical speed predictions and the plurality of depthvalues, each speed-depth mapping including (i) a respectivecritical-speed prediction from among the plurality of critical speedpredictions and (ii) a respective depth-value associated with therespective set of drilling parameter values used by the drill stringmodel to determine the respective critical-speed prediction; andgenerate a graphical user interface including the plurality ofspeed-depth mappings for display on a display device, the plurality ofspeed-depth mappings in the graphical user interface being usable toreduce vibrations in the drill string at the plurality of depth valuesduring the drilling operation.
 2. The system of claim 1, wherein thememory further includes instructions for the drill string model, andwherein the drill string model is configured to: generate a range ofcandidate bit speeds; and for each candidate bit speed in the range ofcandidate bit speeds: determine a respective vibration responseassociated with the candidate bit speed; determine if the respectivevibration response exceeds a predefined threshold limit; and flag thecandidate bit speed as a critical speed if the respective vibrationresponse is greater than or equal to the predefined threshold limit; orflag the candidate bit speed as a non-critical speed if the respectivevibration response is below the predefined threshold limit.
 3. Thesystem of claim 2, wherein the drill string model is configured todetermine the respective vibration response based on a damping effect ofsubstance in the drill string.
 4. The system of claim 2, wherein thedrill string model is configured to determine the respective vibrationresponse based on one or more characteristics of a motor of the drillstring.
 5. The system of claim 4, wherein the one or morecharacteristics include a lobe configuration of the motor.
 6. The systemof claim 1, wherein the memory further includes instructions that areexecutable by the processor for causing the processor to receive theplurality of sets of parameter values from one or more sensors coupledto the drill string.
 7. The system of claim 1, wherein the memoryfurther includes instructions that are executable by the processor forcausing the processor to adjust a drilling parameter value associatedwith the drilling operation so as to prevent a drill bit of the drillstring from rotating at a critical speed included in the plurality ofcritical speed predictions when the drill string is at a particulardepth that is associated with the critical speed in the plurality ofspeed-depth mappings.
 8. A method comprising: receiving, by a processor,a plurality of sets of drilling parameter values associated with adrilling operation involving drilling a wellbore through a subterraneanformation using a drill string; receiving, by the processor, a pluralityof depth values associated with the plurality of sets of drillingparameter values, each depth value corresponding to a particular set ofdrilling parameter values in the plurality of sets of drilling parametervalues; providing, by the processor, the plurality of sets of drillingparameter values as input to a drill string model to receive a pluralityof critical speed predictions as output from the drill string model,each critical speed prediction being determined by the drill stringmodel based on a respective set of drilling parameter values of theplurality of sets of drilling parameter values; generating, by theprocessor, a plurality of speed-depth mappings based on the plurality ofcritical speed predictions and the plurality of depth values, eachspeed-depth mapping including (i) a respective critical-speed predictionfrom among the plurality of critical speed predictions and (ii) arespective depth-value associated with the respective set of drillingparameter values used by the drill string model to determine therespective critical-speed prediction; and generating, by the processor,a graphical user interface including the plurality of speed-depthmappings for display on a display device, the plurality of speed-depthmappings in the graphical user interface being usable to reducevibrations in the drill string at the plurality of depth values duringthe drilling operation.
 9. The method of claim 8, wherein the drillstring model is configured to: generate a range of candidate bit speeds;and for each candidate bit speed in the range of candidate bit speeds:determine a respective vibration response associated with the candidatebit speed; determine if the respective vibration response exceeds apredefined threshold limit; and flag the candidate bit speed as acritical speed if the respective vibration response is greater than orequal to the predefined threshold limit; or flag the candidate bit speedas a non-critical speed if the respective vibration response is belowthe predefined threshold limit.
 10. The method of claim 9, wherein thedrill string model is configured to determine the respective vibrationresponse based on a damping effect of substance in the drill string. 11.The method of claim 9, wherein the drill string model is configured todetermine the respective vibration response based on one or morecharacteristics of a motor of the drill string.
 12. The method of claim11, wherein the one or more characteristics include a lobe configurationof the motor.
 13. The method of claim 9, further comprising receivingthe plurality of sets of parameter values from one or more sensorscoupled to the drill string.
 14. The method of claim 9, furthercomprising adjusting a drilling parameter value associated with thedrilling operation so as to prevent a drill bit of the drill string fromrotating at a critical speed included in the plurality of critical speedpredictions when the drill string is at a particular depth that isassociated with the critical speed in the plurality of speed-depthmappings.
 15. A non-transitory computer-readable medium comprisingprogram code that is executable by a processor for causing the processorto: receive a plurality of sets of drilling parameter values associatedwith a drilling operation involving drilling a wellbore through asubterranean formation using a drill string; receive a plurality ofdepth values associated with the plurality of sets of drilling parametervalues, each depth value corresponding to a particular set of drillingparameter values in the plurality of sets of drilling parameter values;provide the plurality of sets of drilling parameter values as input to adrill string model to receive a plurality of critical speed predictionsas output from the drill string model, each critical speed predictionbeing determined by the drill string model based on a respective set ofdrilling parameter values of the plurality of sets of drilling parametervalues; generate a plurality of speed-depth mappings based on theplurality of critical speed predictions and the plurality of depthvalues, each speed-depth mapping including (i) a respectivecritical-speed prediction from among the plurality of critical speedpredictions and (ii) a respective depth-value associated with therespective set of drilling parameter values used by the drill stringmodel to determine the respective critical-speed prediction; andgenerate a graphical user interface including the plurality ofspeed-depth mappings for display on a display device, the plurality ofspeed-depth mappings in the graphical user interface being usable tomanage vibrations in the drill string at the plurality of depth valuesduring the drilling operation.
 16. The non-transitory computer-readablemedium of claim 15, further comprising program code for the drill stringmodel, and wherein the program code for the drill string model isexecutable by the processor for causing the processor to: generate arange of candidate bit speeds; and for each candidate bit speed in therange of candidate bit speeds: determine a respective vibration responseassociated with the candidate bit speed; determine if the respectivevibration response exceeds a predefined threshold limit; and flag thecandidate bit speed as a critical speed if the respective vibrationresponse is greater than or equal to the predefined threshold limit; orflag the candidate bit speed as a non-critical speed if the respectivevibration response is below the predefined threshold limit.
 17. Thenon-transitory computer-readable medium of claim 16, wherein the drillstring model is configured to determine the respective vibrationresponse based on a damping effect of substance in the drill string. 18.The non-transitory computer-readable medium of claim 16, wherein thedrill string model is configured to determine the respective vibrationresponse based on one or more characteristics of a motor of the drillstring.
 19. The non-transitory computer-readable medium of claim 18,wherein the one or more characteristics include a lobe configuration ofthe motor.
 20. The non-transitory computer-readable medium of claim 15,further comprising program code that is executable by the processor forcausing the processor to adjust a drilling parameter value associatedwith the drilling operation so as to prevent a drill bit of the drillstring from rotating at a critical speed included in the plurality ofcritical speed predictions when the drill string is at a particulardepth that is associated with the critical speed in the plurality ofspeed-depth mappings.